1. Field
Embodiments generally relate to user interfaces for computer-based applications.
2. Related Art
Large systems (e.g., medical systems like medical imaging devices and hospital management systems) include multiple products from different origins (e.g., business units with specific applications). These products are developed independently but use common product-line code, for example, for common look and feel, run-time infrastructures, data repositories, and domain specific protocols and tech-stacks.
On the one hand, the products are intended to be independent of each other, have internal product variability, extensibility, deployments on multiple physical or virtual machines. On the other hand, applications from these independent products have considerable technical dependencies among each other, due to large amount of common product-line code that sits in such an application, and because applications from two independent products often need tighter technical coupling for specialized medical diagnostics (e.g., MR+MI, CT+MI), or at least need a joint deployment on the same hardware box and software run-time system, due to, for example, cost constraints.
In many cases, a same application can be installed in many versions. The user selects a version by manual selection or by always using the own installation path. This is the default solution used by all vendors, like Microsoft Visual Studio application and .NET frameworks, Java Run-Time, Perl programming language, Adobe Reader application, and many more. Some software force the user to first install the correct version of their underlying run-time system, for example, the required version of the Java run-time, regardless of potential side-effects on other Java based software on the same machine. Some software even refuse to exist more than once on a machine and force the user to remove previous versions of the same product, like Microsoft Windows or releases of SAP's enterprise software.
For example, a client can support only one version of the application installed on the client hardware at any one time. If a user of the client desires to work with a different application version, the user has to use either a different client or the use has to uninstall the installed version and install the version to be used.